package com.lechi.web.vo;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;
import org.hibernate.validator.constraints.Length;


/**
 * 设备对象 iot_device
 *
 * @author yangguang
 */
@Data
public class IotAndroidDeviceVo {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 设备组ID
     */
    @NotNull(message = "参数groupId不能为空")
    private Long groupId;


    /**
     * 产品分类ID
     */
    @NotNull(message = "参数industryId不能为空")
    private Long industryId;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 设备序列号
     */
    @NotBlank(message = "参数deviceSn不能为空")
    @Length(max = 50, message = "参数deviceSn长度不能大于{max}")
    @Pattern(regexp = "^[a-zA-Z0-9]+$", message = "参数deviceSn限输入字母、数字，不可输入特殊字符及空格!")
    private String deviceSn;

    /**
     * 协议类型
     */
    @NotBlank(message = "参数protocolType字段不能为空")
    private String protocolType;

    /**
     * 区站号
     */
    @NotBlank(message = "参数deviceStation字段不能为空")
    private String deviceStation;

    /**
     * 安装地址
     */
    @NotBlank(message = "参数address字段不能为空")
    private String address;

    /**
     * 时间间隔
     */
    @NotNull(message = "参数timeInterval字段不能为空")
    private int timeInterval;


    /**
     * 纬度
     */

    private Double latitude;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 海拔高度
     */
    private Double altitude;

}
